From 4618e0dcc7adb8eab6971c2fb8137e282978a9c2 Mon Sep 17 00:00:00 2001 From: Rob Bradford Date: Tue, 19 Feb 2013 19:26:19 +0000 Subject: [PATCH] window: Don't set a background pattern/colour when client decorated Otherwise we'll potentially get some background sticking through our rounded corners in our decorations. The actual background will get drawn as part of the decoration drawing. --- gtk/gtkwindow.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 98ef7e55bd..bc14900baf 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -5315,7 +5315,11 @@ gtk_window_realize (GtkWidget *widget) gtk_widget_set_window (widget, gdk_window); gtk_widget_register_window (widget, gdk_window); - gtk_style_context_set_background (gtk_widget_get_style_context (widget), gdk_window); + /* We don't need to set a background on the GdkWindow; with decorations + * we draw the background ourself + */ + if (!priv->client_decorated) + gtk_style_context_set_background (gtk_widget_get_style_context (widget), gdk_window); return; } @@ -5393,9 +5397,14 @@ gtk_window_realize (GtkWidget *widget) gtk_widget_register_window (widget, gdk_window); - context = gtk_widget_get_style_context (widget); - gtk_style_context_set_background (context, gdk_window); - + /* We don't need to set a background on the GdkWindow; with decorations + * we draw the background ourself + */ + if (!priv->client_decorated) + { + context = gtk_widget_get_style_context (widget); + gtk_style_context_set_background (context, gdk_window); + } if (priv->transient_parent && gtk_widget_get_realized (GTK_WIDGET (priv->transient_parent))) -- 2.30.2